home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 7 / Gekikoh Dennoh Club Vol. 7 (Japan).7z / Gekikoh Dennoh Club Vol. 7 (Japan) (Track 01).bin / games / otoko / source.lzh / player.h < prev    next >
C/C++ Source or Header  |  1999-06-14  |  3KB  |  92 lines

  1. /* player.h */
  2.  
  3. typedef struct {
  4.     signed short x, y;    /* 座標 */
  5.     short pt;        /* スプライトパターンNo. */
  6.     short info;        /* 反転コード・色・優先度を表わすデータ */
  7.     signed short bank;    /* 自機の傾き */
  8.     signed int lx, ly;    /* 32bit X,Y 座標 ( l = longword ) */
  9.     char seq;        /* 自機の状態 */
  10.     char seq2;        /* 自機の状態(死亡時の再登場までのカウンター) */
  11.     short muteki;        /* 無敵時のカウンター(>0 で無敵) */
  12.     char flash;        /* 無敵時のパレットフラッシュ用カウンター */
  13.     char shot_timer;    /* 弾の広がり具合を計測するためのタイマー */
  14.     char shot_timer_current;/* Bボタンを押した瞬間の shot_timer */
  15.     char shot_cont;        /* 弾を連続的に出すためのカウンター */
  16.     char high_speed;    /* 高速移動中なら !0 */
  17.     short a_button;        /* 前回Aボタンが押されたか */
  18.     short b_button;        /* 前回Bボタンが押されたか */
  19.     char b_button_next;    /* =!0:ショットを出し終える前にBボタンが押された */
  20.     char bomb_type;        /* ボム種類(=0 でボム文字列なし) */
  21.     char bomb_flash_state;    /* =0 で通常、=1 で白フラッシュ、=2で通常パレット */
  22.     char bomb_flash_timer;    /* フラッシュ用タイマー */
  23.     short blaser;        /* ボンバーレーザーの有効時間 */
  24.     char bomb_hitcheck;    /* ボンバー当たり判定用 */
  25.     char bomb_guage_disp;    /* ボンバーゲージ表示/非表示 */
  26.     short bomb_hitcheck_time;    /* ボンバー当たり判定の残り時間 */
  27.     signed int bomb_energy;    /* ボンバーエネルギー */
  28.     short rest;        /* 残機数 */
  29.     char game_over;    /* ゲームオーバーになった要因 */
  30.     unsigned int replay_counter;    /* リプレイデータを指すカウンター */
  31. } PLAYER;
  32.  
  33.  
  34.  
  35. #ifdef GLOBAL_DEFINE        /* グローバル変数の定義と宣言を1つにまとめるテク */
  36. #define Extern            /* Extern をヌル文字列に置換 */
  37. #else
  38. #define Extern extern        /* Extern を extern に置換 */
  39. #endif
  40.  
  41.  
  42. /* グローバル変数 */
  43. Extern PLAYER player[1];
  44.  
  45.  
  46. enum {
  47.     PLAYER_SEQ_ALIVE = 0,    /* プレイヤーは生きている */
  48.     PLAYER_SEQ_APPEAR,    /* 登場中(画面下から出てくる・操作不能) */
  49.     PLAYER_SEQ_MUTEKI,    /* 無敵(登場直後) */
  50.     PLAYER_SEQ_BARRIER,    /* バリアで無敵 */
  51.     PLAYER_SEQ_DEAD,    /* 死んでいる */
  52.     PLAYER_SEQ_LAST        /* オールクリア */
  53. };
  54.  
  55. enum {
  56.     PLAYER_PT_RIGHT2 = 0,    /* 自機が一番右に傾いている時のパターン */
  57.     PLAYER_PT_RIGHT1,    /*  〃 少し右に     〃      */
  58.     PLAYER_PT_CENTER,    /*  〃 正面を向いている時のパターン */
  59.     PLAYER_PT_LEFT1,    /* 自機が少し右に傾いている時のパターン */
  60.     PLAYER_PT_LEFT2        /*  〃 一番右に     〃      */
  61. };
  62.  
  63.  
  64. enum {
  65.     BOMB_NON = 0,
  66.     BOMB_A,            /* BOMBER */
  67.     BOMB_B,            /* BACK-B */
  68.     BOMB_C            /* LASER */
  69. };
  70.  
  71. enum {
  72.     BG_FLASH_NON = 0,    /* 背景はフラッシュ中でない */
  73.     BG_FLASH_WHITE,        /* 背景は白フラッシュ中 */
  74.     BG_FLASH_NORMAL        /* 背景はフラッシュ中だが通常パレット */
  75. };
  76.  
  77.  
  78. enum {
  79.     GAME_PLAY = 0,        /* ゲーム中 */
  80.     GAME_OVER,        /* 死んでゲームオーバー */
  81.     GAME_COMPLETE,        /* オールクリア */
  82.     GAME_ABORT,        /* [SELECT]+[START] で中断 */
  83. };
  84.  
  85.  
  86. /* 関数プロトタイプ宣言 */
  87. void PlayerInit0 (void);
  88. void PlayerInit (void);
  89. void PlayerMove (void);
  90. void PlayerTini (void);
  91. void DispRest (void);
  92.